import threading
import time


def task():
    for i in range(10):
        print("任务执行中")
        time.sleep(0.3)


if __name__ == '__main__':

    # 创建子线程
    # 1. daemon=True 表示守护主线程，主线程退出子线程销毁
    # sub_thread = threading.Thread(target=task, daemon=True)
    # 2. setDaemon(True)表示守护主线程
    sub_thread = threading.Thread(target=task)
    sub_thread.setDaemon(True)
    # 启动线程执行任务
    sub_thread.start()

    time.sleep(1)
    print("主线程over")

    # 总结:
    # 默认情况下，主线程会等待所有的子线程执行完成以后主线程再退出

    # 解决办法:
    # 1. 守护主线程： 1.1 setDaemon(True)， 1.2 daemon=True